home *** CD-ROM | disk | FTP | other *** search
-
- INTERFACE - Das Resource Construction Kit 20.05.94
- -----------------------------------------
- Jeder, der eigene Programme auf seinem ATARI/TOS Computer erstellt,
- kennt Interface. Dieses Resource-Construction-Set erlaubt die einfache
- Erstellung und Bearbeitung von RSC-Dateien, also Menüs, Dialogformulare
- Alerts, Icons, ...
-
- Es folgt die Beschreibung der Funktionen von Interface, ergänzt um eine
- Liste mit Versionen von Interface mit den jeweiligen Änderungen und
- Erweiterungen zur jeweils vorigen Version.
-
- Wer kein komplettes Resource-Construction-Kit benötigt und vielleicht nur
- die Icons vom Desktop seines STs, TTs, Falcon oder kompatiblen ändern
- möchte, bzw. eigene Icons erstellen will, für den bietet sich Zoom!, der
- Icon-Editor an. Information erhalten sie unter der angegebenen Adresse.
-
-
- Besonderheiten von Interface:
- =============================
- - Alle wichtigen Resource-Formate werden unterstützt (RSD, DEF, DFN
- und HRD).
-
- - MSDOS Resources werden automatisch erkannt und können geladen und
- gespeichert werden.
-
- - Integrierter Iconeditor mit vielen Funktionen.
- - Bei Icons weitgehend automatische Maskenerstellung.
- - Der Iconeditor kann Images und Icons als C Source ausgeben (ICN
- Format, besonders wichtig für CPX Module).
- - IMG Dateien können vom Iconeditor geladen und gespeichert werden.
-
- - Interface kann eine komplette Resource als C Source ausgeben (RSH
- Format). Das Format wurde so optimiert, daß alle Zeiger im RSH File
- bereits richtig initialisiert sind.
-
- - Fast alle Funktionen lassen sich durch Tastatur Shortcuts anwählen.
- Alle Shortcuts können vom Benutzer durch Ändern der Interface
- Resourcedatei neu belegt werden.
-
- - In Formularen können mehrere Objekte gleichzeitig gewählt und ver-
- schoben werden.
- - Wenn mehrere Objekte selektiert wurden, lassen sich die Flags
- (ob_state und ob_flag) gleichzeitig und global durch die Funktions-
- taste F6 ändern. Dabei wird eine echte 'TriState' Logik benutzt:
- "Setzen", "Löschen" und "Ignorieren". Ein Button mit dem Status
- "Ignorieren" sorgt dafür, daß dieses Flag bei den selektierten
- Objekten nicht verändert wird.
-
- - Benutzerdefinierte Objekte (Extended Objekttypen) werden durch eine
- Schnittstelle zu einem externen Programm (EXTOBFIX.PRG) unter-
- stützt. Dieses Programm wird von Interface beim Programmstart nach-
- geladen und kann die Testfunktion (F9) von Formularen und Alert-
- boxen ersetzen.
- Das auf der Diskette befindliche Programm stellt alle in den
- FlyDials benutzten Objekttypen zur Verfügung.
- Außerdem befinden sich in den Ordnern GEISS_1.EXT und GEISS_2.EXT
- die EXTOBFIX.PRG Dateien für die in der 1. und 2. Auflage des
- Buches "Vom Anfänger zum GEM Profi" benutzten erweiterten Objekt-
- typen.
-
- - Objektnamen können beim Kopieren von Objekten zwischen unterschied-
- lichen Resource-Dateien mitkopiert werden.
-
- - Ein UNDO ist beim Verschieben, Ändern der Größe und Löschen von
- Objekten in einem Formular möglich.
-
- - Zentrieren von Objekten.
-
- - Auf Wunsch manuelle Größen- und Positionseingabe.
-
- - Labels dürfen bis zu 16 Zeichen lang sein.
-
- - Interface unterstützt das Accessory Protokoll von Gemini 1.2, und
- arbeitet daher u.a. mit Treeview und CLOCK zusammen.
-
- - In allen Dialogboxen von Interface kann der Cursor mit der Maus
- buchstabengenau positioniert werden. Nach dem Druck auf die INSERT
- Taste erscheint eine Sonderzeichen-Dialogbox, wenn Sonderzeichen in
- dem Eingabefeld zugelassen sind.
-
- - Alle Dialoge lassen sich durch die FlyDials verschieben. Unter-
- strichene Buchstaben geben den ALTERNATE Shortcut an.
-
- - Eine Accessory Schnittstelle wurde implementiert, die anderen Pro-
- grammen erlaubt, auf interne Daten und alle wichtigen Routinen von
- Interface zuzugreifen. Dadurch könnte z.B. eine Sourcecode Ausgabe
- für Modula oder Fortran realisiert werden.
-
- - Interface läuft auf jedem Rechner in jeder Auflösung mit mindestens
- 1MB Hauptspeicher. Das Programm unterstützt bis zu 24 Laufwerke und
- hat daher auch mit dem Atari CD ROM Treiber META DOS keine
- Probleme. Da das Programm nur GEM Funktionen benutzt, arbeitet es
- auch mit GEM 2.0 und GEM 3.0 zusammen.
-
- - Die Headerdatei Ausgabe für Omikron Basic ist frei definierbar,
- d.h. statt dessen kann man z.B. auch ohne viel Aufwand eine
- Assembler-Ausgabe realisieren.
-
- - In den Dialogboxen FREESTRING, BUTTON und ALERT gibt es mehrzeilige
- Eingabefelder, die als ein zusammenhängendes Feld bearbeitet wer-
- den. Dadurch dürfen Strings bis zu 130 Zeichen, und Free Strings
- bis zu 260 Zeichen lang sein.
-
- Neue Funktionen in Interface 2.0:
- =================================
- - "Nächstes"-Button in allen Objekt- und Baumdialogen, um direkt zum
- nächsten Objekt oder Baum zu gelangen.
-
- - 2 Resourcedateien können miteinander verglichen werden. Sinn der
- Funktion ist, daß man damit z.B. fremdsprachige Resourcen leichter
- pflegen kann, und Fehler schneller findet.
-
- - Die Baum- und Objektebox ist in ein Fenster gelegt worden.
-
- - Man kann in der Suchfunktion auch nach irgendwelchen Texten in der
- Resource suchen. Groß/Kleinschreibung wird nicht unterschieden.
-
- - Alle Dialoge wurden in Fenster gelegt (Abschaltbar!).
-
- - Resourcen dürfen (fast) beliebig lang werden. Die Anzahl der Ob-
- jekte pro Baum ist auf 1024 begrenzt; jede Resource kann unbegrenzt
- viele Bäume enthalten (kein Beschränkung mehr auf max. 256 Bäume).
- Wenn mehr als 256 Bäume verwendet werden, muß die Resource im HRD-
- Format abgespeichert werden. Resourcen in diesem Spezialformat er-
- zeugt man, indem man den Button "Lange Resourcen" einschaltet.
- Routinen zum Laden solcher Resourcen werden im C Source mit-
- geliefert. Die Verwaltung ist 100% kompatibel zu den alten Resour-
- cen.
-
- - Neuer Menüpunkt "Letzte Fassung". Er verwirft eine Resource und
- lädt den alten Stand wieder ein.
-
- - "HELP"-Button im BoxText-Dialog, der alle Platzhalter des p_valid-
- Feldes anzeigt.
-
- - Im Einstellungsdialog kann man eine Sizebox einschalten, die für
- jedes Objekt unter der Maus die Size-Ecke anzeigt.
-
- - Die MyDials in Interface unterstützen Cut/Copy/Paste mit Control-
- X/C/V über das Clipboard in allen Dialogen.
-
- - Im Boxtext-Dialog sind für p_valid die Zeichen "A"-"Z" und "a"-"z"
- zugelassen, damit man für eigene benutzerdefinierte Objekte neue
- Eingabetypen verwenden kann.
-
- - Man kann eigene Objekte in die Objektebox von Interface einbinden
- (FlyDial-Ecke, OK-Button, ...).
-
- - Das X/Y-Raster wird für jede Resource getrennt verwaltet.
-
- - Im Dialog "Einstellungen" gibt es den Punkt "Label-Prefix". Wenn
- dieser Punkt selektiert ist, stellt Interface jedem neu einge-
- gebenen Label eine einstellbare Anzahl von Zeichen des Baumnamens
- voran. Ein Trennzeichen kann auch definiert werden.
-
- - Durch den Menüpunkt "Objektnummer fest" kann man verhindern, daß
- sich Objektnummern bei Aktionen verändern. Statt dessen ändert
- Interface nur die Verkettung der Objekte. Funktioniert auch in
- Menübäumen. Wenn diese Option selektiert ist, ändert Interface auch
- nicht mehr die Position unsortierter Menübaumeinträge.
- Wenn ein neues Objekt in einen Baum eingefügt wird, wird es an das
- Baumende angehängt, und verändert daher nicht die Objektnummern
- anderer Objekte in diesem Baum.
- Sortieren ist auch möglich. Dabei wird nur die Objektverkettung
- umgehängt, alle Objekte bleiben an ihrem Platz.
- Wenn dieser Schalter gesetzt ist, sollte es leicht möglich sein,
- fremde Resourcen zu ändern, ohne daß das Programm dadurch Schaden
- nimmt. Es kann nur zu Fehlern kommen, wenn ein Programm der
- Objektverkettung der eigenen Resource folgt. Aber das dürfte fast
- nie vorkommen.
-
- - Headerdateien werden nur abgespeichert, wenn Labels verändert oder
- gelöscht wurden, oder wenn der Resourceinfo-Dialog mit "OK" ver-
- lassen wurde. Das dürfte alle Compilerbenutzer freuen, deren Com-
- piler sonst das komplette Projekt neu compilieren würde.
-
- - Der Iconeditor unterstützt das Clipboard. Alle Icons und Images
- werden im IMG und im ICO (IconEdi) Format abgespeichert und
- geladen.
- - Ein Clipboard für Objekte wurde eingebaut. Objekte zieht man ein-
- fach aufs Clipboard, bzw zieht sie wieder aus dem Clipboard auf ein
- Dialog- oder Menüfenster. Man darf selbstverständlich auch mehrere
- Objekte gleichzeitig aufs Clipboard kopieren.
-
- - Beim Sortieren kann man die Sortierrichtung invertieren, d.h. man
- kann z.B. Dialoge bauen, die sich von unten nach oben aufbauen
- (igitt!).
- - Manuelles Sortieren: Die zu sortierenden Objekte müssen in der
- Reihenfolge angeklickt werden, in der sie später gezeichnet werden
- sollen.
-
- - Fast alle möglichen Daten des Desktops werden abgespeichert, damit
- man Interface nach dem Verlassen später wieder im gleichen Zustand
- vorfindet (wie in Pure C).
- Abgespeichert wird:
- - Die Position aller Icons
- - Die Größe, Position und Sliderposition aller Resourcedateifenster
- (dazu zählt das Baumfenster, Formularfenster und Menüfenster)
- - Die Größe, Position und Sliderposition des Desktopfensters
- - Alle geladenen Resourcedateien (natürlich nur die Pfade)
- - Die Position der Toolbox-Fenster
- Alle Koordinaten werden bei einem Auflösungswechsel ggf geändert,
- damit man immer noch alle Objekte erreichen kann.
-
- - Die Position jedes geöffneten Baumfensters wird für alle Icons
- (max. 15) gespeichert. Wenn man eine Resource lädt, wird das
- Fenster an der alten Position geöffnet. Interface verhält sich
- damit ähnlich, wie der Atari Desktop.
-
- - Formularfenster und Menüfenster werden relativ zum Baumfenster ge-
- öffnet. Das soll die Übersicht etwas erhöhen, und dürfte vor allem
- Großbildschirmbesitzer freuen.
-
- - Ein Tip für alle, die den Interface-Desktop nicht mögen: Desktop
- ins Fenster legen, Parameter speichern, Interface erneut laden,
- Desktop schließen, Parameter erneut speichern.
- Bei allen weiteren Starts erscheint kein Desktop mehr.
-
- - Mit F8 kann man das eingestellte Raster aller Resourcen auf Pixel-
- raster umschalten. Bei einem erneuten F8 werden die alten Raster-
- einstellungen restauriert. Der Sinn ist eine schnelle Umschaltung
- zwischen Buchstaben- und Pixelraster
-
- - Die Menüzeile kann auch ins Desktopfenster gelegt werden
- (vorausgesetzt, daß der Desktop im Fenster liegt).
-
- - Beim Verschieben eines Objekts kann man das Objekt "unter" ein
- anderes Objekt schieben. Es wird dem Zielobjekt nicht als Child
- zugeordnet, wenn man auf die Alertbox "Soll die Objektstruktur
- geändert werden? Abbruch/Nein/Ja" mit "Nein" antwortet. Diese Alert-
- box erscheint nur, wenn das verschobene Objekt und das Zielobjekt
- ein gemeinsames Parent besitzen.
-
- - Icons und Images können durch den Button "Minimale Größe" soweit
- wie möglich verkleinert werden, ohne daß Daten verloren gehen.
- Dabei wird das Image soweit nach links oben geschoben, bis kein
- weißer Rand mehr existiert. Dann wird der rechte und untere Rand
- abgeschnitten. Zuletzt wird das Image wieder zentriert.
-
- - Der Objekttyp "G_USERDEF" wird direkt von Interface unterstützt.
- Dabei legt Interface eine OBJECT-Struktur an, deren ob_spec-Pointer
- auf eine USERBLK-Struktur zeigt. Für jedes Objekt wird in der
- Resource eine eigene USERBLK-Struktur angelegt.
- "ub_parm" kann direkt in Interface eingegeben werden. "ub_code"
- enthält einen NULL-Pointer, d.h. nach dem Einladen einer solchen
- Resource muß man als erstes in "ub_code" aller Userdef-Objekte
- einen Zeiger auf die eigene Zeichenroutine eintragen.
-
- - Unter MultiTOS kann man auch in den Toolbox-Fenstern und im Fen-
- ster-Desktop arbeiten, wenn sie im Hintergrund liegen (sie werden
- nicht getopt). Man muß dann dabei nicht mehr die rechte Maustaste
- drücken.
-
- - Ein Wrap-Modus für die Sizebox wurde implementiert. Auf hochdeutsch
- heißt das, daß man Objekte in alle möglichen Richtungen vergrößern
- und verkleinern kann. Es gibt immer noch nur die Sizebox in der
- rechten, unteren Ecke der Objekte. Aber wenn man die Ecke über das
- Objekt oder links davon zieht, wird auf eine andere Ecke "u-
- mgeschaltet".
-
- - AV_STARTPROG wird für Resourcedateien unterstützt (z.B. im Zu-
- sammenspiel mit FSearch von Stefan Gerle).
-
- - Fast alle Strings der Modula-Headerausgabe liegen in der Interface-
- Resource, und sind dadurch frei definierbar.
-
- - Die Shortcuts in Menübäumen werden automatisch rechtsbündig an-
- geordnet. Dabei beachtet Interface folgende Regeln zur Erkennung:
- - Der Shortcut startet ab dem ersten Blank, das von rechts ge-
- funden wird.
- - Vor der Tastenangabe muß mindestens ein Kontrollzeichen für
- Shift, Control oder Alternate stehen, oder es folgt sofort die
- Tastenangabe; dann sind aber nur Sondertasten wie HELP, INSERT
- usw erlaubt.
- - Nach dem oder den Kontrollzeichen muß eine 1 Zeichen lange
- Tastenangabe folgen, oder eine Angabe einer Sondertaste.
-
- Wenn diese Bedingungen erfüllt sind, werden die Shortcuts nach
- folgenden Regeln angeordnet:
- - Vor jedem Shortcut müssen mindestens 2 Spaces stehen.
- - Steht am Textende ein "..." (z.B. in "Öffnen..."), dann reicht
- in dieser Zeile 1 Space vor dem Shortcut aus.
-
- Die erlaubten Zeichen für die Kontrolltasten stehen in der Inter-
- face Resource im Free String "SHORTCUT". Die erlaubten Sondertasten
- stehen im Free String "SH_KEYWORDS". Vor und hinter jeder Sonderta-
- ste in diesem Free String muß ein "/" stehen.
- Dadurch sind fast alle denkbaren Shortcuts von Interface erkennbar.
- Einzige Ausnahme ist ein einzelner Buchstabe, vor dem kein Kontroll-
- tastenzeichen steht. Ich habe diese Möglichkeit absichtlich aus-
- geklammert, damit Interface nicht versehentlich ein Zeichen aus
- einem Menüeintrag ohne Shortcut falsch anordnet (z.B. "Bild 1").
-
- - Die MyDials und Interface kommen unter MultiTOS auch mit anderen
- Systemfontgrößen zurecht.
-
- - In jedem Objekt-Dialog gibt es einen Hilfebutton, der einen Hilfs-
- dialog über alle erweiterten Objekttypen anzeigt.
- Dieser Dialog kann im Extobfix-Prg enthalten sein. Wenn eine Ex-
- tobfix-Datei mit Hilfeseite geladen wurde, wird von Interface immer
- diese Seite angezeigt. Ansonsten wird eine Default-MyDial-Hilfesei-
- te angezeigt.
-
- - Jeder Variablen der C Source Ausgabe (RSH) kann man ein "static"
- voranstellen lassen. Dadurch sind alle Variablen Modullokal dekla-
- riert, und man kann mehrere Resourcen in ein Programm übernehmen.
- Der Button befindet sich neben dem RSH-Button.
-
-
- Interface 2.01:
- ===============
- - In der Suchfunktion dürfen Unix-Wildcards benutzt werden.
-
- - Wenn die Suchfunktion ein Objekt in einem Menübaum findet, wird das
- entsprechende Pulldown automatisch aufgeklappt.
-
- - Der Iconeditor liest jetzt auch Farbbilder (XIMG-Format), aber man
- kann weiterhin nur die erste Plane ausschneiden. Besonders sinnvoll
- ist diese neue Möglichkeit also nicht. Sie stellt nur den ersten
- Schritt dar, um später die neuen Farb-Icons von Atari zu unter-
- stützen.
-
- - Die MyDials unterstützen den Befehl "my_menu_key", um einen Short-
- cut in einem Menübaum zu suchen. Näheres dazu in der MyDial-
- Anleitung.
-
- - Beim Testen von Menübäumen überprüft Interface alle Shortcuts auf
- Doppelbelegungen. Wenn ein Shortcut mehrfach in einem Menübaum
- verwendet wurde, wird eine Warnung ausgegeben.
- Wenn der Punkt "Menü-Tastaturkürzel anordnen" ausgeschaltet wurde,
- wird keine Überprüfung durchgeführt.
-
-
- Interface 2.20:
- ===============
- Interface unterstützt jetzt auch die Falcon-Farbicons für _jede_ TOS-
- Version, wenn die mitgelieferten Routinen verwendet werden.
- Die Farbicon-Routinen sind GEM-konform programmiert worden und soll-
- ten auf jeder Grafikkarte laufen.
-
- - Farbicons können direkt aus XIMG-Bildern ausgeschnitten werden.
- Überzählige Planes werden dabei einfach abgeschnitten.
-
- - Wenn man ein selektiertes Icon erzeugt, wird automatisch das selek-
- tierte Bild des besten Icons einer niedrigeren Plane-Anzahl übernom-
- men (sofern es eins gibt).
-
- - Block kopieren wurde im Iconeditor eingebaut. Die Funktion wird
- über Shift-Control-C oder über die Menüleiste des Iconeditors auf-
- gerufen.
-
- - ICN-Dateien können jetzt auch für Farbicons geladen und gespeichert
- werden.
-
- - Die Kreisroutine wurde neu programmiert. Gefüllte Kreise werden in
- Farbauflösungen jetzt deutlich schneller gezeichnet.
-
- - Die Systemfont-Abfrage wurde verbessert.
-
- - Man kann beim Füllen auch die Maskenfarbe in andere Farben füllen.
-
- - Die Maske wird durch Kreuze dargestellt, damit man sie besser von
- Grautönen unterscheiden kann.
-
- - Ich habe die Image-Speicherverwaltung umgestellt. Das neue Limit
- liegt bei 10240 Image-Blöcken. Wenn man zu jedem monochromen Icon
- ein Farbicon mit Selektionsbild anlegt, reicht das für ca 1700
- Icons pro Resource.
- Bei 1700 Icons mit einer Größe von 32*32 Punkten würde solch eine
- Resource ca 2,6 MB groß sein.
-
- - Interface speichert Icons im XIMG-Format.
-
- - Der Iconeditor kann OS/2 und WINDOWS-Farbicons vom Format 32*32 mit
- 16 Farben laden (trifft für 95% der Icons zu).
-
- - Im Iconeditor kann man sich die Palette der Resource mit "Palette
- anzeigen" anzeigen lassen. Mit "Standard-Palette" schaltet man
- wieder die Palette ein, die Interface beim Programmstart vor-
- gefunden hat.
-
- - "Pulldown-Leerzeichen optimieren" ist wieder im Einstellungsdialog,
- da mich mehrere darum gebeten haben. Außerdem wird ein Pulldown-
- Eintrag, der mit "-" anfängt und endet und disabled ist, nicht mehr
- verändert. Dadurch kann man kleine Teilüberschriften in Pulldowns
- unterbringen (z.B. "--- Ausgabe ---").
-
- - In der Modula-Ausgabe wird wieder eine Export-Liste in der DEF-
- Datei mit ausgegeben.
-
- - Beim Ausschneiden von Blöcken in XIMG-Bildern gibt es keinen 16
- Pixelsnap mehr. Die Blockbreite kann jetzt pixelgenau gewählt wer-
- den. Außerdem kann man den ausgeschnittenen Block in ein Icon
- einfügen, wenn er kleiner als das Icon ist. Er ersetzt jetzt nicht
- mehr das komplette Icon.
-
- - Die MyDials unterstützen den Befehl "get_sysfnt" um die Art und
- Größe des Systemfonts zu erfragen.
-
- - Man kann jetzt in den MyDials eine eigene Routine in die dial_fix-
- Routine einklinken, die immer dann angesprungen wird, wenn die
- MyDials den erweiterten Objekttyp eines Objekts nicht kennen.
-
- - Im Farbicon-Editor kann man sich die RGB-Palette eines Images mit
- "XIMG-Palette anzeigen" anzeigen lassen.
-
- - Die GFA-Demoroutinen der MyDials wurden durch neue Routinen von
- Stefan Münch ersetzt (Danke!). Die neuen Routinen sind wesentlich
- besser kommentiert als die alten.
-
- - Da die Farbicons relativ viel Speicher benötigen, befindet sich auf
- der Interface-Diskette eine Resource, die keine Farbicons bein-
- haltet. Wenn zuwenig Speicher vorhanden sein sollte, dann kann man
- die normale Resource durch diese "monochrome" Resource ersetzen.
- Die Resource befindet sich im selbstentpackenden Archiv
- "INTMONO.TOS".
-
- - In der Dialogbox, in der man die erweiterten Objekt-Flags eingeben
- kann, befindet sich jetzt ein Popup, mit dem man die 3D-Flags vom
- AES 4.0 (Falcon, MultiTOS) direkt setzen kann.
-
-
- Interface 2.21:
- ===============
- - Im Iconeditor kann man die Farbe eines Pixels herausfinden, indem
- man den Pixel mit Shift-Linksklick oder mit Rechts- und Linksklick
- anwählt. Die gefundene Farbe wird dann automatisch die neue Zeichen-
- farbe.
-
- - Die Bilddaten lassen sich im Iconeditor in der Höhe oder in der
- Breite halbieren. Dadurch kann man für die niedrige Auflösung oder
- für Gemini schnell kleine Icons erzeugen. Die Routine löscht jeden
- zweiten Pixel.
-
- - Auch in der RSH-Ausgabe werden jetzt zu kurze te_pvalid-Felder einer
- TEDINFO-Struktur mit 0-Bytes aufgefüllt.
-
- - Interface verwendet jetzt in einem Grafikmodus mit mindestens 16
- Farben 3D-Dialoge. Der 3D-Modus läßt sich über den Einstellungs-
- Dialog jederzeit ausschalten, die Änderung wird beim nächsten
- Neustart von Interface beachtet.
-
- - "Backdrop" ist ab Winx 2.1 möglich: Einfach kurz auf den Titelbal-
- ken des obersten Fensters klicken und das Fenster wird sofort zum
- untersten Fenster.
-
-
- Interface 2.30:
- ===============
- - Die MyDials unterstützen für alle Objekte eine 3D-Darstellung.
- Genaueres dazu steht am Ende der MyDial-Anleitung.
-
- - Windows-Icons mit 2, 16 und 256 Farben werden jetzt korrekt eingela-
- den und die Maske wird übernommen. Windows-Icons mit 256 Farben
- gibt es erst ab Windows 3.1.
-
- - Im Alert-Dialog gibt es den Button "Test". Dadurch muß man den
- Dialog nicht extra verlassen, um die Alertbox zu testen.
-
- - Drag&Drop wird unterstützt. Akzeptiert werden Resource-Dateien, die
- auf ein beliebiges Interface-Fenster gezogen werden, und IMG-Da-
- teien und WINDOWS- bzw OS/2-Dateien, die auf ein Iconeditorfenster
- gezogen werden können.
-
- - Mit "Flags setzen" (F7) kann man auch die erweiterten Flags in
- allen selektierten Objekten ändern.
-
- - Suchdialog: Unterscheidung Groß/Kleinschreibung ist einschaltbar.
-
- - "Nächstes"-Button in allen Objektdialogen ist nur noch anwählbar,
- wenn es weitere Objekte gibt.
-
- - MyDials: Die MyDials unterstützen jetzt ClrHome und Shift-ClrHome,
- um den Cursor zu positionieren.
-
- - MyDials: Bei einem Doppelklick auf den Mover eines Dialoges wird
- der Dialog zentriert.
-
- - MyDials: Neue Funktion "form_Button" eingebaut, die beim Redraw
- eines Objektes ein Fensterhandle berücksichtigt. Als netten Neben-
- effekt kann man jetzt DISABLED-Exitbuttons nicht mehr über Tastatur
- auslösen (ein Bug vom TOS-form_button).
-
- - MyDials: "popup_select" kann man ein Fensterhandle übergeben, damit
- der aufrufende Popupbutton über das Handle neu gezeichnet wird.
- Wenn das Handle NIL ist, wird er komplett über objc_draw gezeichnet
- (wie früher).
-
- - MyDials: Der erste Parameter von "dial_alert" ist jetzt ein Zeiger
- auf eine OBJECT-Struktur (früher BITBLK). Dadurch kann man jedes
- beliebige Objekt in der linken, oberen Alertecke darstellen. Wer
- malt ein paar schicke Farbicons dafür?
- Beispiel: dial_alert (&tree[STOP], ...)
-
- - In der RSH-Ausgabe steht jetzt vor jeder Grafiktabelle ein "WORD",
- da es sonst mit einigen C Compilern Probleme gab.
- Vorher: static RS... = {...
- Jetzt : static WORD RS... = {...
-
- - MyDials: Auch TEXT und BOXTEXT-Objekte können jetzt über Tastatur
- bedient werden (Erweiterter Typ: 18). Die Zeichenroutine berück-
- sichtigt zwar nicht alle BoxText-Attribute richtig (z.B. OUTLINED),
- aber für die meisten Anwendungen sollte es reichen.
-
- - MyDials: Man kann jetzt Alertboxen in Fenster legen. Für diesen
- Zweck gibt es folgende neue Routinen:
- - alert_data: Diese Funktion berechnet alle Daten einer Alertbox
- (u.a. Größe und Position aller Elemente).
- - alert_draw: Diese Funktion zeichnet die Alertbox an den
- angegebenen Koordinaten mit einem zu übergebenden Clipping.
- - alert_close: Wenn das Alert-Fenster wieder geschlossen wird, muß
- diese Funktion aufgerufen werden, damit alle Elemente des Alert-
- Baums initialisiert werden.
-
- - MyDials: 2 neue Funktionen für Textobjekte. Da die Objekte für die
- 3D-Darstellung in Userdefs gewandelt werden müssen, kommt man nur
- noch umständlich über die USERBLK-Struktur oder über den
- get_obspec-Aufruf an den Text der Objekte. Um das etwas zu erleich-
- tern, gibt es jetzt folgende Funktionen:
- - objc_setobspec: Diese Funktion kopiert einen String in ein belie-
- biges Objekt.
- - objc_getobspec: Diese Funktion kopiert den Text eines Objekts in
- einen String.
- Beide Funktionen arbeiten mit normalen Objekten und auch mit User-
- defs.
- Unterstützte Objekttypen:
- G_BUTTON, G_STRING, G_TITLE, G_CICON, G_ICON, G_BOXCHAR, G_TEXT,
- G_BOXTEXT G_FTEXT, G_FBOXTEXT (te_ptext bzw ib_ptext).
-
- - MyDials: Man kann jetzt das dial_do der MyDials um eigene Events
- erweitern und/oder auch das Event-verhalten der Routine komplett
- ändern. Dazu gibt es eine neue Funktion, mit der man 2 eigene
- Routinen in dial_do einklinken kann:
- - set_MyEvnt (init_func, evnt_func)
- init_func wird gleich zu Anfang von dial_do aufgerufen. Der Routine
- wird ein Zeiger auf eine Struktur übergeben, in der alle Parameter
- von evnt_multi eingetragen wurden (Definition siehe mydial.h). Die
- Struktur wurde bereits mit den Standardwerten der dial_do-Routine
- initialisiert. init_func könnte jetzt z.B. im ersten Eintrag der
- Struktur zusätzlich noch einen Timer-Event eintragen.
- evnt_func wird von den MyDials direkt nach dem evnt_multi der
- dial_do-Routine aufgerufen. Die erste übergebene Variable enthält
- einen Zeiger auf den Rückgabewert von evnt_multi, der die aufgetre-
- tenen Events angibt (die man auch verändern darf). Die zweite
- Variable enthält einen Zeiger auf alle evnt_multi-Parameter. In
- dieser Routine könnte man jetzt die zusätzlich eingetragenen Events
- auswerten oder auch die von evnt_multi ermittelten Werte ändern
- oder löschen.
- Mit get_MyEvnt kann man die gesetzten Adressen wieder abfragen.
-
- - Das Desktopfenster wird bei CTRL-W nicht mehr mitge"cycled".
-
- - MyDials: Bisher konnten die MyDials maximal 1000 Userdefs in einem
- statischen Array verwalten. Jetzt muß man einen Zeiger auf so ein
- Array und die Anzahl der möglichen Userdefs bei dial_init überge-
- ben. Dadurch kann die Anzahl der Userdefs fast beliebig erhöht
- werden.
- Also z.B.:
- #define UBLOCKLEN 2000
- OBBLK usrblck[UBLOCKLEN]
- dial_init (..., usrblck, UBLOCKLEN);
-
- - Die Textlänge eines Icontextes kann jetzt durch einen neuen Button
- direkt geändert werden, ohne daß man den Icon-Dialog dazu verlassen
- müßte.
-
- - Die Interface-Desktopfarbe kann selbst definiert werden, indem man
- in der Resource die Farbmuster im Baum "DESKCOL" entsprechend
- ändert.
-
- - MyDials: Scrollbare Editfelder wurden eingebaut. Das Editfeld muß
- dazu Typ 26 (LONGINPUT) bekommen und darf nur aus einem langen
- Eingabefeld bestehen. Solche Editfelder lassen sich natürlich von
- der Größe her beliebig verkleinern.
-
- - In Interface kann man jetzt Eingabefelder mit einer Länge von bis
- zu 255 Zeichen editieren. Die entsprechenden Editfelder im Boxtext-
- Dialog scrollen bei längeren Editfeldern.
-
- - Wenn man die Objektdatenanzeige eingeschaltet hat und die CTRL-
- Taste gedrückt hält, werden die Objektdaten des Parents des unter
- der Maus liegenden Objekts angezeigt.
-
- - MyDials: Mit dial_setcpos kann man den Cursor auf eine neue Cursor-
- position und ein neues Objekt setzen.
- Mit dial_getcpos kann man das aktuelle Editobjekt und die aktuelle
- Cursorposition erfragen.
-
-
- Besondere Tastaturfunktionen von Interface:
- ===========================================
- Mehrere Objekte können durch Aufziehen eines Rahmens selektiert wer-
- den. In Formularen muß die ALTERNATE-Taste gedrückt werden, um einen
- Rahmen aufzuziehen.
-
- Einzelne Objekte können mit gedrückter SHIFT-Taste selektiert werden.
-
- Wenn ein Objekt verschoben wird, und der Benutzer während des Loslas-
- sens der Maustaste die SHIFT-Taste gedrückt hält, wird das Objekt
- kopiert.
-
- Wird während des Anklickens eines Objektes die CONTROL-Taste gedrückt
- gehalten, wählt man statt dessen das Objekt unter dem angeklickten
- Objekt aus. CONTROL kann mit ALTERNATE und/oder SHIFT kombiniert
- werden.
-
- Um in mehrzeiligen Eingabefeldern den Text rechts vom Cursor in die
- nächste Zeile zu befördern, muß SHIFT INSERT gedrückt werden.
-
- Alle Fenster können auch mit den Cursortasten gescrollt werden.
-
- Tastaturfunktionen in Dialogboxen:
- CONTROL + Cursor: Cursor wortweise bewegen.
- SHIFT + Cursor: Cursor an Anfang/Ende der Zeile bewegen.
-
- Um das Format einer Resource Datei anzusehen und zu ändern, muß man
- das dazu gehörige Icon auf dem Desktop selektieren, und die 'Info'-
- Funktion aufrufen (F4).
- Die 'Info'-Funktion liefert über fast alle Objekte Informationen. Mit
- 'Hilfe' erhält man eine Übersicht über die Funktionen der SHIFT,
- CONTROL und ALTERNATE Tasten.
-
-
- In dieser Demoversion ist das Speichern von Daten nicht möglich.
- Deshalb ist in dem Ordner RSH eine Beispieldatei, die die RSH (C
- Source) Ausgabe und die Headerausgabe in verschiedenen Sprachen demon-
- striert.
-
-
- Vertrieb: no Software GmbH Tel: 06551-9701-11
- ========= Ritzstr. 13 Fax: 06551-9701-15
- D 55494 Prüm
-
- Deutsche Bank Köln
- BLZ
- KTO 404 308 9
-
-
- Update-Konditionen:
- ===================
- Umfang:
- -------
- Das Update besteht aus einem neuen Handbuch sowie zwei Disketten
-
- Kosten:
- -------
- Vorkasse Scheck, Bar oder Überweisung (innerhalb Deutschland!):
- Updates von 1.xx auf 2.30 50,-DM + 7,- Versand
- Updates von 2.20 auf 2.30 25,-DM + 7,- Versand
-
- Nachnahme (nur innerhalb Deutschland!):
- Updates von 1.xx auf 2.30 50,-DM + 7,- Versand + 8,- Nachnahme
- Updates von 2.20 auf 2.30 25,-DM + 7,- Versand + 8,- Nachnahme
-
- auf Rechnung (nur für Schulen, Behörden, Institute):
- Updates von 1.xx auf 2.30 50,-DM + 7,- Versand
- Updates von 2.20 auf 2.30 25,-DM + 7,- Versand
-
- Vorkasse Euro-Scheck, Bar oder Überweisung (außerhalb Deutschland):
- Updates von 1.xx auf 2.30 50,-DM + 10,- Versand
- Updates von 2.20 auf 2.30 25,-DM + 10,- Versand
-
- Nachnahme ist uns außerhalb Deutschland derzeit nicht möglich
-
- Was tun:
- --------
- => Formloses Schreiben: 'Hiermit bestelle ich ein Update Interface
- von Version _.__ auf die neueste Version'
-
- => Gewünschte Zahlungsart angeben
-
- => Bitte Originaldiskette(n) zum Update einschicken.
-
- => Bei kostenpflichtigen Updates KEINEN frankierten Rückumschlag
- mitschicken!
-
-
-
-
- Vertrieb Schweiz: EDV Dienstleistungen Tel: (01) 784 89 47
- ================= Stiftung Grünau Tel: (01) 784 88 25
- Erlenstrasse 73
- CH 8805 Richterswil
-